/*=+--+=#=+--     Unmanned Aerial System Management Software      --+=#=+--+=#*\
|          Copyright (C) 2011 Regents of the University of Colorado.           |
|                             All Rights Reserved.                             |

     This program is free software: you can redistribute it and/or modify
     it under the terms of the GNU General Public License version 2 as
     published by the Free Software Foundation.

     This program is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     GNU General Public License for more details.

     You should have received a copy of the GNU General Public License
     along with this program.  If not, see <http://www.gnu.org/licenses/>.

            Jack Elston                       Cory Dixon                        
|           elstonj@colorado.edu              dixonc@colorado.edu              |
|                                                                              |
\*=+--+=#=+--                 --+=#=+--+=#=+--                    --+=#=+--+=#*/

/*!
  \file rssiUKF.h
	\brief header file for rssiUKF

                    \author Jack Elston
             $Date: 2006/10/25 13:34:45 $
*/

#ifndef __RSSIUKF_H
#define __RSSIUKF_H

#include <unistd.h>
#include <signal.h>
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
#include <fcntl.h>

#include "String.h"
#include "command.h"
#include "queue.h"
#include "type_defs.h"
#include "threadedPipe.h"
#include "shmStruct.h"

class RSSIUKF : public ThreadedPipe
{
private:

  void update_ukf();
  RSSIStruct_t meas;

  void update_log_str();
  FILE * logfile;
  String log_name;
	char logStr[1024];

public:
	RSSIUKF(String name);
	~RSSIUKF() {}
					 
  void parseInternalData(const Command &cmd);
	bool init(ShmStruct * shmStructPtr);
	void update();
};

#endif
